package com.miku.blog.service;

import com.miku.blog.domain.Category;
import com.baomidou.mybatisplus.extension.service.IService;
import com.miku.blog.domain.pojo.ResponseResult;

/**
* @author Miku
* @description 针对表【tb_category】的数据库操作Service
* @createDate 2022-05-26 18:34:31
*/
public interface CategoryService extends IService<Category> {


    /**
     * 后台管理系统
     *
     * 根据条件
     *
     * 分页查询文章分类集合 { 分类管理 }
     *
     * @param current
     * @param size
     * @param keywords  搜索关键字
     * @return
     */
    ResponseResult categories(Integer current, Integer size,String keywords);

    /**
     * 新增文章分类
     * @param category
     * @return
     */
    ResponseResult addCategories(Category category);

    /**
     * 删除/批量删除文章分类  { 当该该分类下无对应文章时 }
     * @param categoryIdList
     * @return
     */
    ResponseResult deleteCategories(Integer[] categoryIdList);


    /**
     *
     * 前台博客
     *
     * 分类导航 ：获取文章分类 (及 分类下有多少篇文章)
     *
     * 根据判断当前用户是否为管理员，选择展示 私有 文章
     * 若非管理员，则一律只展示 公开 文章
     *
     * @return
     */
    ResponseResult getCategories(Integer current);


    /**
     * 根据分类名称获取分类信息
     * @param categoryName
     * @return
     */
    Category getCategoryByName(String categoryName);

    /**
     * 获取 分类列表
     * @return
     */
    ResponseResult getCategoryList();
}
